package com.danlu.dlsms.model.pub.res;

import java.io.Serializable;
import java.util.List;

public class MessageExtension implements Serializable {
    private static final long serialVersionUID = -9111557656040845341L;

    private String id;
    private String originalMessageId;
    private String receiverId;
    private String type;
    private String channelId;
    private String content;
    private String templateLink;
    private String sendResult;
    private String readStatus;
    private String businessKey;
    private String bizCreatedTimestamp;
    private String sendDatetime;
    private String expireDatetime;
    private OrderMessageModel orderMessageModel;
    private ApprovalMessageModel approvalMessageModel;

    @Override
    public String toString () {
        return "MessageExtension{" + "id='" + id + '\'' + ", type='" + type + '\'' + '}';
    }

    public String getId () {
        return id;
    }

    public void setId (String id) {
        this.id = id;
    }

    public String getOriginalMessageId () {
        return originalMessageId;
    }

    public void setOriginalMessageId (String originalMessageId) {
        this.originalMessageId = originalMessageId;
    }

    public String getReceiverId () {
        return receiverId;
    }

    public void setReceiverId (String receiverId) {
        this.receiverId = receiverId;
    }

    public String getType () {
        return type;
    }

    public void setType (String type) {
        this.type = type;
    }

    public String getChannelId () {
        return channelId;
    }

    public void setChannelId (String channelId) {
        this.channelId = channelId;
    }

    public String getContent () {
        return content;
    }

    public void setContent (String content) {
        this.content = content;
    }

    public String getTemplateLink () {
        return templateLink;
    }

    public void setTemplateLink (String templateLink) {
        this.templateLink = templateLink;
    }

    public String getSendResult () {
        return sendResult;
    }

    public void setSendResult (String sendResult) {
        this.sendResult = sendResult;
    }

    public String getReadStatus () {
        return readStatus;
    }

    public void setReadStatus (String readStatus) {
        this.readStatus = readStatus;
    }

    public String getBusinessKey () {
        return businessKey;
    }

    public void setBusinessKey (String businessKey) {
        this.businessKey = businessKey;
    }

    public String getBizCreatedTimestamp () {
        return bizCreatedTimestamp;
    }

    public void setBizCreatedTimestamp (String bizCreatedTimestamp) {
        this.bizCreatedTimestamp = bizCreatedTimestamp;
    }

    public String getSendDatetime () {
        return sendDatetime;
    }

    public void setSendDatetime (String sendDatetime) {
        this.sendDatetime = sendDatetime;
    }

    public String getExpireDatetime () {
        return expireDatetime;
    }

    public void setExpireDatetime (String expireDatetime) {
        this.expireDatetime = expireDatetime;
    }

    public OrderMessageModel getOrderMessageModel () {
        return orderMessageModel;
    }

    public void setOrderMessageModel (OrderMessageModel orderMessageModel) {
        this.orderMessageModel = orderMessageModel;
    }

    public ApprovalMessageModel getApprovalMessageModel () {
        return approvalMessageModel;
    }

    public void setApprovalMessageModel (ApprovalMessageModel approvalMessageModel) {
        this.approvalMessageModel = approvalMessageModel;
    }

    public static class OrderMessageModel implements Serializable {

        private static final long serialVersionUID = -3724790202841943002L;

        private String orderId;
        private String orderNo;
        private String payType;
        private String payNo;
        private List<GoodsModel> goodsModelList;

        public String getOrderId () {
            return orderId;
        }

        public void setOrderId (String orderId) {
            this.orderId = orderId;
        }

        public String getOrderNo () {
            return orderNo;
        }

        public void setOrderNo (String orderNo) {
            this.orderNo = orderNo;
        }

        public String getPayType () {
            return payType;
        }

        public void setPayType (String payType) {
            this.payType = payType;
        }

        public String getPayNo () {
            return payNo;
        }

        public void setPayNo (String payNo) {
            this.payNo = payNo;
        }

        public List<GoodsModel> getGoodsModelList () {
            return goodsModelList;
        }

        public void setGoodsModelList (List<GoodsModel> goodsModelList) {
            this.goodsModelList = goodsModelList;
        }

        public static class GoodsModel implements Serializable {
            private static final long serialVersionUID = 3571721570438605466L;

            private String name;
            private String number;
            private String goodsPic;

            public String getName () {
                return name;
            }            @Override
            public String toString () {
                return "GoodsModel [name=" + name + ", number=" + number + ", goodsPic=" + goodsPic + "]";
            }

            public void setName (String name) {
                this.name = name;
            }

            public String getNumber () {
                return number;
            }

            public void setNumber (String number) {
                this.number = number;
            }

            public String getGoodsPic () {
                return goodsPic;
            }

            public void setGoodsPic (String goodsPic) {
                this.goodsPic = goodsPic;
            }


        }
    }

    public static class ApprovalMessageModel implements Serializable {

        private static final long serialVersionUID = -2939313597895928665L;

        private String taskId;
        private String applyId;
        private String terminalFullName;
        private String terminalDetailAddress;

        public String getTaskId () {
            return taskId;
        }

        public void setTaskId (String taskId) {
            this.taskId = taskId;
        }        @Override
        public String toString () {
            return "ApprovalMessageModel [taskId=" + taskId + ", applyId=" + applyId + ", terminalFullName=" + terminalFullName + ", terminalDetailAddress=" + terminalDetailAddress + "]";
        }

        public String getApplyId () {
            return applyId;
        }

        public void setApplyId (String applyId) {
            this.applyId = applyId;
        }

        public String getTerminalFullName () {
            return terminalFullName;
        }

        public void setTerminalFullName (String terminalFullName) {
            this.terminalFullName = terminalFullName;
        }

        public String getTerminalDetailAddress () {
            return terminalDetailAddress;
        }

        public void setTerminalDetailAddress (String terminalDetailAddress) {
            this.terminalDetailAddress = terminalDetailAddress;
        }


    }
}